<h5>Description</h5>
<p>Ultrasonic distance measurement module.</p>

<!-- Parameter Table -->
<h5>Parameter Description</h5>
<table class="table table-bordered">
    <thead>
        <tr>
            <th>Parameter</th>
            <th>Description</th>
            <th>Required</th>
            <th>Type</th>
            <th>Bytes</th>
            <th>In/Out</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td><code>operate</code></td>
            <td>Fixed value: 24</td>
            <td><span class="badge badge-required">Yes</span></td>
            <td>Number</td>
            <td>1</td>
            <td>In</td>
        </tr>
    </tbody>
</table>

<h5>Example</h5>
<div>
    <strong>Get current distance measurement:</strong>
    <p><code>operate=24</code></p>
    <p>Response (normal):</p>

    <table class="table table-bordered">
        <tbody>
            <tr> 
                <td><code>totalMeasureTimes</code></td>
                <td>Total number of measurements since power-on.</td>
            </tr>
            <tr>
                <td><code>historyMin, historyMax</code></td>
                <td>Minimum and maximum values measured since power-on, in millimeters (mm).</td>
            </tr>
            <tr>
                <td><code>min, max, avg</code></td>
                <td>Minimum, maximum, and average values from this report, in millimeters (mm).</td>
            </tr>
            <tr>
                <td><code>measureTimes</code></td>
                <td>Number of measurements included in this report.</td>
            </tr>
            <tr>
                <td><code>values</code></td>
                <td>List of individual measurement values in this report, comma-separated, in millimeters (mm).</td>
            </tr>
            <tr>
                <td><code>type</code></td>
                <td>Upload type:<br>
                    - UPLOAD: Periodic automatic upload<br>
                    - REQUEST: Upload triggered by cloud request<br>
                    - TRIGGER: Upload triggered by condition
                </td>
            </tr>
        </tbody>
    </table>

    <p>Sample response (success):</p>
    <p>
        <code>
{
  "id": "67bd9353d9546c2e21de6636",
  "deviceId": "67bd8c60d9546c2e21de6536",
  "deviceNo": "24587cd6ef0c",
  "moduleTypeId": 22,
  "request": {
    "rawString": "operate=24",
    "sourceType": "CLOUD_COMMAND",
    "ip": "127.0.0.1"
  },
  "requestTime": "2025-02-25T09:54:26.661990346Z",
  "upload": {
    "totalMeasureTimes": 35,
    "historyMin": 36,
    "historyMax": 365,
    "max": 326,
    "min": 326,
    "latest": 326,
    "avg": 326,
    "measureTimes": 3,
    "values": "326,326,326,",
    "type": "REQUEST"
  },
  "uploadTime": "2025-02-25T09:54:27.193098718Z",
  "command": 3,
  "operate": 24,
  "deviceRequestPack": 2,
  "deviceUploadPack": 2,
  "info": null,
  "errorType": "OK",
  "dataCommType": "REQUEST_UPLOAD",
  "dataCommSource": "CLOUD_COMMAND"
}
        </code>
    </p>
</div>